.\" Copyright (C) 2022 Dylan Yudaken <dylany@fb.com>
.\"
.\" SPDX-License-Identifier: LGPL-2.0-or-later
.\"
.TH io_uring_cq_has_overflow 3 "September 5, 2022" "liburing-2.3" "liburing Manual"
.SH NAME
io_uring_cq_has_overflow \- returns if there are overflow entries waiting to move to the CQ ring
.SH SYNOPSIS
.nf
.B #include <liburing.h>
.PP
.BI "bool io_uring_cq_has_overflow(const struct io_uring *" ring ");"
.fi
.SH DESCRIPTION
.PP
The
.BR io_uring_cq_has_overflow (3)
function informs the application if CQ entries have overflowed and are waiting to be flushed to
the CQ ring. For example using
.BR io_uring_get_events (3)
.SH NOTES
Using this function is only valid if the ring has
.B IORING_FEAT_NODROP
set, as it's checking for a flag set by kernels supporting that feature. For
really old kernels that don't support this feature, if CQE overflow is
experienced the CQEs are lost. If that happens, the CQ ring overflow offset
will get incremented.
.SH RETURN VALUE
True if there are CQ entries waiting to be flushed to the CQ ring.
.SH SEE ALSO
.BR io_uring_get_events (3)
